package com.dazhuang.proxy.cglib;

import org.springframework.cglib.core.DebuggingClassWriter;
import org.springframework.cglib.proxy.Enhancer;

public class MyTest {
	public static void main(String[] args) {
		System.setProperty(DebuggingClassWriter.DEBUG_LOCATION_PROPERTY,"d:\\code");
		// 通过cglib动态代理 获取代理对象的过程，创建调用的对象
		Enhancer enhancer = new Enhancer();
		// 设置enhancer对象的父类
		enhancer.setSuperclass(MyCalculator.class);
		// 设置回调对象
		enhancer.setCallback(new MyCglib());
		// 创建代理对象
		MyCalculator myCalculator = (MyCalculator) enhancer.create();
		// 通过代理对象调用目标方法
		System.out.println(myCalculator.getClass());
	}
}
